{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 问题：列举几个常用的Python分析数据包及其作用\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "面试官想从这道题中考察面试人什么？\n",
    "Python 拥有高效的高级数据结构，且开发效率高，在数据分析中的使用也越来越普遍了。比如，写代码要用编辑器，有人喜欢用 vim，有人喜欢 vscode，你要问他们为什么，他们肯定会告诉你他们使用的编辑器的特点和优点。\n",
    "\n",
    "同样，你做数据分析，你的工作涉及到什么任务，你就必须知道相应的库可以解决任务中的某种问题。每个领域都会有它相应的专有的库，就比如 Python 自带的列表也可以表示数组，但从计算效率的角度来看，它肯定不如 Numpy，并且如果要实现数组的运算可以直接使用库提供的接口，何必自己再去实现呢？\n",
    "\n",
    "答案\n",
    "numpy：提供数组支持，以及相应的高效的处理函数；\n",
    "scipy：提供矩阵支持，以及矩阵相关的数值计算模块；\n",
    "statsmodel：统计建模和计量经济学，包括描述统计，统计模型估计和推断；\n",
    "matplotlib：强大的数据可视化工具，作图库；\n",
    "pandas：强大的数据分析和探索工具；\n",
    "scikit-learn：支持回归，分类，聚类等的强大的机器学习库；\n",
    "keras：深度学习库，用于建立神经网络以及深度学习模型。\n",
    "拓展\n",
    "Python 数据分析的生态系统\n",
    "\n",
    "这部分内容只针对在数据分析和数据挖掘的初学者，或有意在这个领域发展的人。如果你已经从事这个领域多年，那不需要我给你介绍了。\n",
    "\n",
    "常用的工具与库：\n",
    "\n",
    "numpy\n",
    "\n",
    "numpy 是 Python 数值的缩写，长期以来一直是 Python 数值计算的基石。它提供了大多数涉及 Python 中数值数据的科学应用程序所需的数据结构，算法。 NumPy 包含以下内容：快速高效的多维数组对象；用于对数组计算的数学运算的函数；用于将基于数组的数据集读写到磁盘的工具；线性代数运算，傅里叶变换和随机数生成；成熟的 C API，支持 Python 扩展和本机 C 或 C++ 代码访问 NumPy的数据结构和计算工具。\n",
    "\n",
    "pandas\n",
    "\n",
    "pandas 提供了高级数据结构和功能，旨在使结构化或表格数据的处理变得快速，轻松和富有表现力。它的主要数据结构 DataFrame 是具有行和列标签的表格格式，面向列的数据结构，以及 Series，是一维标签的数组对象。\n",
    "\n",
    "matplotlib\n",
    "\n",
    "matplotlib 是最流行的 Python 库之一，用于生成绘图和其他二维数据可视化。虽然还有其他可视化库可供 Python 程序员使用，但是 matplotlib 是使用最广泛的库。\n",
    "\n",
    "ipython 和 jupyter notebook\n",
    "\n",
    "尽管 IPython 本身不提供任何计算或数据分析工具，但它设计的初衷就是最大程度地提高在交互式计算和软件开发中的生产力。它鼓励执行-探索工作流，而不是许多其他编程语言的典型编辑-编译-运行工作流。它还可以轻松访问操作系统的外壳程序和文件系统。\n",
    "\n",
    "由于许多数据分析编码都涉及探索，反复试验和迭代，因此IPython可以帮助您更快地完成工作。Jupyter notebook 系统可以使用 Markdown 和 HTML 创作内容，从而为创建带有代码和文本的丰富文档提供了一种方法，通过执行代码来理解问题。实时运行的代码、叙事性的文本和可视化被整合在一起，方便使用代码和数据来讲述故事。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}